package com.galaxy.order.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.galaxy.common.mybatis.core.page.PageQuery;
import com.galaxy.common.mybatis.core.page.TableDataInfo;
import com.galaxy.order.domain.Order;
import com.galaxy.order.domain.bo.OrderBo;
import com.galaxy.order.domain.bo.OrderBo1;
import com.galaxy.order.domain.vo.OrderVo;

import java.math.BigDecimal;
import java.util.List;

public interface OrderService extends IService<Order> {
    /**
     * 查询订单信息列表
     */
    TableDataInfo<OrderVo> queryPageList(OrderBo bo, PageQuery pageQuery);

    TableDataInfo<OrderVo> queryPageList1(OrderBo bo, PageQuery pageQuery);

    /**
     * 查询订单信息列表
     */
    List<OrderVo> queryList(OrderBo bo);

    /**
     * 查询订单信息
     */
    OrderVo queryById(Long id);

    OrderVo queryByOrderNo(String orderNo);

    /**
     * 新增订单信息
     */
    Order insertByBo(OrderBo bo);



    /**
     * 修改订单信息
     */
    Boolean updateByBo(OrderBo bo);

    Boolean updateByBo1(OrderBo1 bo);

    /**
     * 校验并批量删除订单信息
     */
    Boolean deleteWithValidByIds(List<Long> ids, Boolean isValid);

    /**
     * 获取今日订单数
     */
    Long getTodayOrderCount();

    /**
     * 获取今日销售额
     */
    BigDecimal getTodaySales();

    Boolean orderCancel(String orderNo);
}
